package com.example.course.service;

import com.example.course.bean.Teacher;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.course.dto.TeacherDTO;
import com.example.course.dto.TeacherLoginDTO;
import com.example.course.dto.TeacherQueryDTO;
import com.example.course.vo.TeacherVO;

/**
 * @author Jasmine-drs
 * @description 针对表【teacher(教师表)】的数据库操作Service
 * @createDate 2025-04-22 15:36:40
 */
public interface TeacherService extends IService<Teacher> {

    /**
     * 教师登录
     *
     * @param loginDTO 登录信息
     * @return 教师信息
     */
    TeacherVO login(TeacherLoginDTO loginDTO);

    /**
     * 教师注册
     *
     * @param teacherDTO 教师信息
     * @return 注册后的教师信息
     */
    TeacherVO register(TeacherDTO teacherDTO);

    /**
     * 获取教师列表
     *
     * @param queryDTO 查询条件
     * @return 教师列表分页结果
     */
    Page<TeacherVO> getTeacherList(TeacherQueryDTO queryDTO);

    /**
     * 根据ID获取教师信息
     *
     * @param id 教师ID
     * @return 教师信息
     */
    TeacherVO getTeacherById(Integer id);
}
